from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.models import User

from .models import Profile


# 定义一个行内 admin
class ProfileInline(admin.StackedInline):
    model = Profile
    can_delete = False
    verbose_name_plural = '用户管理'
    verbose_name = '用户管理'


# 将 Profile 关联到 User 中
class UserAdmin(BaseUserAdmin):
    inlines = (ProfileInline,)

    '''设置列表可显示的字段'''
    list_display = ('username', 'is_superuser', 'email',
                    'last_login', 'date_joined')

    '''设置过滤选项'''
    list_filter = ('last_login',)

    # 排除一些不想被编辑的 fields, 没有在列表的不可被编辑

    '''每页显示条目数'''
    list_per_page = 5


# 重新注册 User
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
